//package com.tianhui.consignor.mvp.presenter;
//
//import android.content.Context;
//
//import com.fgs.common.CommonResponse;
//import com.fgs.common.entity.CommonDataListInfo;
//import com.fgs.common.progress.ExceptionHandle;
//import com.fgs.common.progress.ObserverResponseListener;
//import com.tianhui.consignor.mvp.contract.DriverBindContract;
//import com.tianhui.consignor.mvp.model.DriverModel;
//import com.tianhui.consignor.mvp.model.VehicleModel;
//import com.tianhui.consignor.mvp.model.enty.DriverInfo;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * @author fgs
// * @date 2020/3/27
// **/
//public class DriverBindPresenter extends DriverBindContract.Presenter {
//
//    private DriverModel mDriverModel;
//    private VehicleModel mVehicleModel;
//    private Context mContext;
//    private List<DriverInfo> mDriverInfoList = new ArrayList<>();
//
//    public DriverBindPresenter(Context context) {
//        mContext = context;
//        mDriverModel = new DriverModel();
//        mVehicleModel = new VehicleModel();
//    }
//
//
//    @Override
//    public void requestDriverList(Map<String, String> map, boolean isDialog) {
//        mDriverModel.driverListModel(mContext, map, isDialog, getView().bindLifecycle(), new ObserverResponseListener<CommonResponse<CommonDataListInfo<DriverInfo>>>() {
//            @Override
//            public void onNext(CommonResponse<CommonDataListInfo<DriverInfo>> commonResponse) {
//                if (getView() != null) {
//                    if (commonResponse.getCode() == 20000) {
//
//                        CommonDataListInfo<DriverInfo> commonDataListInfo = commonResponse.getData();
//                        if (commonDataListInfo != null) {
//                            getView().setPageInfo(commonDataListInfo.current, commonDataListInfo.pages);
//                            List<DriverInfo> list = commonDataListInfo.records;
//                            if (list != null && list.size() > 0) {
//                                getView().showDataList(list);
//                            } else {
//                                getView().showEmptyView();
//                            }
//                        }
//
//                    } else {
//                        getView().setMsg(commonResponse.getMsg());
//                    }
//                }
//
//            }
//
//            @Override
//            public void onError(ExceptionHandle.ResponseThrowable e) {
//                if (getView() != null) {
//                    getView().setMsg(e.message);
//                }
//            }
//        });
//    }
//
//    @Override
//    public void requestDriverBind(DriverInfo driverInfo, boolean isDialog) {
//
//    }
//
//    @Override
//    public void requestDriverUnbind(DriverInfo driverInfo, boolean isDialog) {
//
//    }
//
//    @Override
//    public void requestDefaultDriver(DriverInfo driverInfo, boolean isDialog) {
//
//    }
//
//    @Override
//    public void requestDriverInfo(String driverId, boolean isDialog) {
//        String[] ids = driverId.split(",");
//        if (ids.length > 0) {
//            for (int i = 0; i < ids.length; i++) {
//                requestDriverInfo(ids.length, i, ids[i],isDialog);
//            }
//        }
//
//    }
//
//    private void requestDriverInfo(int total, int index, String driverId,boolean isDialog) {
//        Map<String, String> map = new HashMap<>();
//        map.put("id", driverId);
//        mDriverModel.driverInfoModel(mContext, map, isDialog, getView().bindLifecycle(), new ObserverResponseListener<CommonResponse<DriverInfo>>() {
//            @Override
//            public void onNext(CommonResponse<DriverInfo> commonResponse) {
//                if (getView() != null) {
//                    if (commonResponse.getCode() == 20000) {
//                        DriverInfo driverInfo = commonResponse.getData();
//                        if (driverInfo != null) {
//                            mDriverInfoList.add(driverInfo);
//                        }
//                        if (index == total - 1) {
//                            if (mDriverInfoList.size() > 0) {
//                                getView().showDataList(mDriverInfoList);
//                            } else {
//                                getView().setIsNeedRequestDriverList(true);
//                                requestDriverList();
//                            }
//                        }
//                    } else {
//                        isNeedRequestDriverList = true;
//                        requestDataList(1, true);
//                    }
//                }
//            }
//
//            @Override
//            public void onError(ExceptionHandle.ResponseThrowable e) {
//                isNeedRequestDriverList = true;
//                requestDataList(1, true);
//            }
//        });
//    }
//}
